Designing a circuit in a computer aided design (CAD) environment often requires a component library. The component library facilitates the design process by providing a database of information that defines many properties of components. These components are frequently used when designing circuits. Examples of components include resistors and AND gates. Examples of component properties include pin separation distance, input voltage, and output voltage.
Currently, component libraries require a large amount of storage space, e.g., twenty gigabytes. The storage requirements are a result of the component library directly storing every property value for every component. A significant cost is required to store, modify, and deliver such libraries. For example, shipping such data from a vendor to a customer can require forty compact disk read only memories (CD-ROMs), each storing approximately 600 megabytes.
Another problem with such a large database is the probability of data entry errors. A user must manually enter a value for each property of every component model when creating a component library using current component generators. A component library can consist of thousands of component models. Each component model can have hundreds of properties. Therefore, there is a significant probability that a user will assign an improper value to some of the component properties.
Another problem with current systems and methods for creating component libraries is that a significant time investment is involved in creating and maintaining the component library. The annual time commitment for creating and maintaining a twenty gigabyte library can be several man-years.
It is therefore desirable to provide a system and method for reducing the storage requirements of a component library while reducing the probability of data entry errors, and while reducing the time required for creating and maintaining the component property values.